#include <stdio.h>
#include <signal.h>


// 易变关键字  --  保持内存可见性
volatile int flag = 0;

void handler(int signo) // 信号捕捉执行流
{
    (void)signo;

    printf("change flag 0 to 1\n");
    flag = 1;
}


int main()
{
    signal(2, handler);
    while (!flag) // 主执行流 -- 没有对flag做修改
        ;

    printf("process quit normal\n");
    return 0;
}